package br.com.unioConci.cadastro.apresentacao;

import javax.faces.event.ActionEvent;

import br.com.r2.exception.R2Exception;
import br.com.r2.util.tipodado.Flag;
import br.com.r2.util.tipodado.Inteiro;
import br.com.r2.util.tipodado.YesNo;
import br.com.unioConci.cadastro.negocio.LocalPagamentoNgc;
import br.com.unioConci.cadastro.vo.LocalPagamentoVo;
import br.com.unioConci.util.jsf.AbstractBean;

public class LocalPagamentoBean extends AbstractBean<LocalPagamentoVo, LocalPagamentoNgc>
{

   public LocalPagamentoBean()
   {
      super(LocalPagamentoNgc.getInstancia());
      this.ACTION_SEARCH = "localPagamento";
      this.pageTitle = "titulo_local_pagamento";
   }

   @Override
   public String preparaPesquisar()
   {
      String retorno = super.preparaPesquisar();
      this.getSearchObject().setTipoConciliacao(new Inteiro(0));
      this.getSearchObject().setSituacao(new Flag(YesNo.ALL));
      
      return retorno;
   }

   @Override
   protected void validarPesquisar() throws R2Exception
   {
      if (this.getSearchObject().getTipoConciliacao() != null && this.getSearchObject().getTipoConciliacao().getValor() == 0)
      {
         this.getSearchObject().setTipoConciliacao(null);
      }
   }

   @Override
   public void pesquisar(ActionEvent event)
   {
      super.pesquisar(event);
      if (this.getSearchObject().getTipoConciliacao() == null || !this.getSearchObject().getTipoConciliacao().isPreenchido())
      {
         this.getSearchObject().setTipoConciliacao(new Inteiro(0));
      }
      
   }
   
   @Override
   public void preparaInserir(ActionEvent event)
   {
      super.preparaInserir(event);
      this.getEntity().setSituacao(new Flag(YesNo.YES));
   }

   @Override
   protected void completarInserir() throws R2Exception
   {
      this.getEntity().setSituacao(new Flag(YesNo.YES));
   }
}
